/*
 ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1

 * The contents of this file are subject to the Mozilla Public License Version 
 * 1.1 (the "License"); you may not use this file except in compliance with 
 * the License. You may obtain a copy of the License at 
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is Blazing Games Inc. (Billy D. Spelchan) code.
 *
 * The Initial Developer of the Original Code is
 * Blazing Games Inc.
 * Portions created by the Initial Developer are Copyright (C) 1999, 2003, 2005-2006
 * the Initial Developer. All Rights Reserved.
 * 
 * Contributor(s):
 *
 ***** END LICENSE BLOCK *****
 */
package com.blazinggames.holeman;

public class LevelExit
extends Sprite {
// *** VARIABLES ***
  boolean bIsActive;
  int nActiveState;

// *** CONSTRUCTOR ***
  LevelExit(int x, int y, boolean bActive) {
    super(x, y, bActive);
    bIsActive = bActive;
    nActiveState = 0;
  }

// *** METHODS - ACTIONS ***
  public void activate() {
    nActiveState = 0;
    bIsActive = true;
    bVisible = true;
  }

  public boolean doUpdate(Map map) {
    if (bIsActive) {
      if (nActiveState < 8) {
        ++nActiveState;
        if (nActiveState == 8)
          map.setTile(getMapX(), getMapY(), Map.TILE_EXIT);
      }
    }
    else if (nActiveState > 0) {
      --nActiveState;
      if (nActiveState == 0)
        bVisible = false;
    }

    return true;
  }

}